Application programs, sometimes referred to simply as applications, are programs that an end-user runs to accomplish certain tasks. Applications typically work in conjunction with one or more back-end systems, which store the data to be worked on, such as for example business objects and other business data, as well as logic for manipulating the data, such as for example transactions or other business logic. Examples of back-end systems may include database systems, enterprise resource planning (ERP) systems, and customer relationship management (CRM) systems. A user interface (UI) is designed to work in concert with application programs, and facilitates interaction between humans and computers by inviting and responding to user input.
One type of application is a network application, in which a network connects an application program running on a server and one or more user interfaces displayed in client programs running on client devices. The client/server relationship is one in which a server provides services to the client devices. Both the client devices and the server typically have a network interface for accessing networks such as for example a local area network (LAN), a wide area network (WAN), or the Internet.
In a network environment, an example of a client device is a personal computer, and an example of a client program is a web browser. The client program, which displays a user interface for an application running on a server, enables networked communication between the client device and the server using a data transfer protocol, such as for example the Hypertext Transfer Protocol (HTTP), to exchange files, images, programs, or application data. The information transmitted from the server and intended for display in the client program on the client device may be marked up with Hypertext Markup Language (HTML) code, Extensible Markup Language (XML) code, or the like.